﻿//*******************************************************************/
//** 编 写 人：lardust-PC AFCodeAI
//** 编写日期：06/22/2013 04:47:05
//** 实现功能：
//** 修 改 人：
//** 修改日期：
//*******************************************************************/
using System.Collections.Generic;
using System.Data;
using CrazyTalk.Models;

namespace CrazyTalk.IDAL
{
	/// <summary>
	/// 接口层TopicBaseDAL
	/// </summary>
	public interface ITopicBaseDAL
	{	
		/// <summary>
		/// 增加一条数据
		/// </summary>
		int Add(TopicBase model);
		/// <summary>
		/// 删除一条数据
		/// </summary>
		bool Delete(int topicBaseId);
		bool DeleteList(List<int> idList);
		/// <summary>
		/// 更新一条数据
		/// </summary>
		bool Update(TopicBase model);
		/// <summary>
		/// 是否存在该记录
		/// </summary>
		bool Exists(int topicBaseId);
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		TopicBase GetModel(int topicBaseId);
		/// <summary>
		/// 获取行记录的详细信息
		/// </summary>
		/// <returns></returns>
		DataTable GetDetails(int topicBaseId);
		/// <summary>
		/// 分页查询
		/// </summary>
		/// <param name="queryField">查询条件的字段名称集合，字段格式：a.FieldName,>,参数名附加字符</param>
		/// <param name="queryValue">查询条件的值集合</param>
		/// <param name="orderby">排序列名</param>
		/// <param name="index">页码，从1开始</param>
		/// <param name="size">页记录数</param>
		/// <param name="totalCount">输出的总记录行数</param>
		/// <returns></returns>
		DataTable GetList(List<string> queryField, List<object> queryValue, string orderby, int index, int size, out int totalCount);

		/// <summary>
		/// 返回首页列表数据
		/// </summary>
		/// <param name="index">页码，从1开始</param>
		/// <param name="size">页记录数</param>
		/// <param name="totalCount">输出的总记录行数</param>
		/// <returns></returns>
		DataTable GetIndexList(int index, int size, out int totalCount);
	} 
}